cmake_minimum_required(VERSION 3.14)

# 项目名称
project(srs-librtmp LANGUAGES CXX)

# 设置编译为静态库
set(LIBRARY_NAME "srs-librtmp")

# 设置源码目录
set(SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/srs")

# 添加源码文件
set(SOURCE_FILES
    ${SOURCE_DIR}/srs_librtmp.cpp
)

# 添加头文件目录
include_directories(${SOURCE_DIR})

# 设置目标平台为 iOS
set(CMAKE_SYSTEM_NAME iOS)

# 指定架构（支持多架构）
set(CMAKE_OSX_ARCHITECTURES "arm64;armv7;x86_64")

# 设置部署目标
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.0")

# 设置工具链（假设您安装了 Xcode）
set(CMAKE_XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO")

# 创建静态库
add_library(${LIBRARY_NAME} STATIC ${SOURCE_FILES})

# 生成的静态库输出路径
set_target_properties(${LIBRARY_NAME} PROPERTIES
    ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
)

# 安装规则：头文件
install(FILES
    ${SOURCE_DIR}/srs_librtmp.h
    DESTINATION include/srs
)

# 安装规则：静态库
install(TARGETS ${LIBRARY_NAME}
    ARCHIVE DESTINATION lib
)


# 示例：如果需要在项目中启用特定的 C++ 标准（可选）
# set_target_properties(${LIBRARY_NAME} PROPERTIES
#     CXX_STANDARD 11
#     CXX_STANDARD_REQUIRED YES
#     CXX_EXTENSIONS NO
# )

# 添加一个简单的 main 示例（可选）
# add_executable(example ${SOURCE_DIR}/../main.cpp)
# target_link_libraries(example ${LIBRARY_NAME})
